import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  namespaced:true,
  state: {
    audio:'',//音乐播发Dom元素
    bannerList:[],//音乐列表
    index:null,//当前在播放的音乐索引
    id:null,//当前音乐id
    flag:false,//控制小播放器和大播发器的开关
    iconFlag:false,//
    size:0,//进度条当前值
    dtiem:'00:00',//当前时间
    ztiem:'00:00',//总时间
    max:0,//进度条总值
    textnum:0,//设置播放方式
    muiscobj:'',//音乐对象
  },
  mutations:{
      //音乐对象
      setmuiscobj(state,obj){
          state.muiscobj=obj;
      },
      //设置播放方式
      settextnum(state,textnum){
          state.textnum=textnum
      },
      //设置audio元素
      setaudio(state,dom){
          state.audio=dom
      },
      // 进度条总值
      setmax(state,max){
          state.max=max;
      },
      // 进度条当前值
      setsize(state,size){
          state.size=size;
      },
    // 设置总时间
      setztiem(state,ztiem){
          state.ztiem=ztiem;
      },
      // 设置当前时间
      setdtiem(state,dtiem){
          state.dtiem=dtiem;
      },
    //  设置音乐开关
      setflag(state,bool){
          state.flag=bool;
      },
    // 设置播放列表
    setbannerList(state,arr){
          state.bannerList=arr;
    },
    // 当前音乐的索引
    setmuiscID(state,index){
      state.index=index;
    },
    //切换音乐
    setindex(state,num){
        if(num==-1){
            let number=(state.index=parseInt(state.index)+num)
            if(number>=0){
                state.muiscobj=state.bannerList[number]
                state.id=state.bannerList[number].id
            }
            return
        }else {
            let number=(state.index=parseInt(state.index)+num)
            state.muiscobj=state.bannerList[number]
            state.id=state.bannerList[number].id
        }
    },
    // 当前音乐的id
    setId(state,id){
        state.id=id;
    }
  },
  actions: {
  },
  modules: {
  },
  getters:{
      getbannerList(state){
        return state.bannerList;
      },
      getindex(state){
        return state.index
      },
      getid(state){
          return state.id;
      },
      getflag(state){
          return state.flag;
      },
      getztiem(state){
          return state.ztiem
      },
      getdtiem(state){
          return state.dtiem
      },
      getsize(state){
          return state.size;
      },
      getmax(state){
          return state.max
      },
      getaudio(state){
          return state.audio
      },
      gettextnum(state){
          return state.textnum
      },
      getmuiscobj(state){
          return state.muiscobj
      }
  }
})
